// interface TestProps {
//   _id: string;
//   name: string;
// }
// interface ObjType {
//   [key: string]: TestProps
// }
// const TestData: TestProps[] = [{ _id: '1', name: 'a' }, { _id: '2', name: 'b' }, { _id: '3', name: 'c' }]

// 数组扁平化为对象方法
export const flattenArr = <T extends { _id?: string }>(arr: T[]) => {
  return arr.reduce((pev, curr) => {
    if (curr._id) {
      pev[curr._id] = curr
    }
    return pev
  }, {} as { [key: string]: T })
}

// 扁平化对象转换成数组方法
export const objToArr = <T>(obj: { [key: string]: T }) => {
  return Object.keys(obj).map((keys) => obj[keys])
}
// const testData2: { [key: string]: TestProps } = {
//   1: { _id: '1', name: 'a' },
//   2: { _id: '2', name: 'b' },
//   3: { _id: '3', name: 'c' }
// }
